package com.example.demo.listener.task;

/**
 * <p>Description: </p>
 *
 * @author Eric Lee
 * @version v1.0.0
 * @since 2021/8/2 16:19
 **/

public interface TaskService {

    /**
     * 创建或者更新任务
     *
     * @param plan
     * @throws Exception
     */
    public void updateOrInsert(Plan plan) throws Exception;

    /**
     * 创建任务
     *
     * @param plan
     * @throws Exception
     */
    public void addJob(Plan plan) throws Exception;

    /**
     * 更新任务
     *
     * @param plan
     * @throws Exception
     */
    public void updateOrInsertJob(Plan plan) throws Exception;

    /**
     * 暂停任务
     *
     * @param plan
     * @throws Exception
     */
    public void stopJob(Plan plan) throws Exception;

    /**
     * 恢复任务
     *
     * @param plan
     * @throws Exception
     */
    public void startJob(Plan plan) throws Exception;

    /**
     * 删除任务
     *
     * @param plan
     * @throws Exception
     */
    public void delJob(Plan plan) throws Exception;

    /**
     * 运行计划JOB
     *
     * @param plan
     * @throws Exception
     */
    public void runJob(Plan plan) throws Exception;

}
